home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Macro assembler dev syst.adf / include / hardware / cia.i < prev    next >
Text File  |  1985-12-20  |  5KB  |  176 lines

  1. ********************************************************************
  2. * Commodore-Amiga, Inc.
  3. * cia.i -- definitions for the registers and bits in the Complex Interface
  4. * Adapter (CIA) chip
  5. *
  6. * $Header: cia.i,v 27.1 85/06/24 14:42:49 neil Exp $
  7. *
  8. * $Locker:  $
  9. *
  10. ********************************************************************
  11.  
  12.    IFND  HARDWARE_CIA_I
  13. HARDWARE_CIA_I SET   1
  14.  
  15. *
  16. * _ciaa is on an ODD address (e.g. the low byte) -- $bfe001
  17. * _ciab is on an EVEN address (e.g. the high byte) -- $bfd000
  18. *
  19. * do this to get the definitions:
  20. *    XREF _ciaa
  21. *    XREF _ciab
  22. *
  23.  
  24.  
  25. * cia register offsets
  26. ciapra            EQU   $0000
  27. ciaprb            EQU   $0100
  28. ciaddra           EQU   $0200
  29. ciaddrb           EQU   $0300
  30. ciatalo           EQU   $0400
  31. ciatahi           EQU   $0500
  32. ciatblo           EQU   $0600
  33. ciatbhi           EQU   $0700
  34. ciatodlow         EQU   $0800
  35. ciatodmid         EQU   $0900
  36. ciatodhi          EQU   $0A00
  37. ciasdr            EQU   $0C00
  38. ciaicr            EQU   $0D00
  39. ciacra            EQU   $0E00
  40. ciacrb            EQU   $0F00
  41.  
  42. * interrupt control register bit numbers
  43. CIAICRB_TA        EQU   0
  44. CIAICRB_TB        EQU   1
  45. CIAICRB_ALRM      EQU   2
  46. CIAICRB_SP        EQU   3
  47. CIAICRB_FLG       EQU   4
  48. CIAICRB_IR        EQU   7
  49. CIAICRB_SETCLR    EQU   7
  50.  
  51. * control register A bit numbers
  52. CIACRAB_START     EQU   0
  53. CIACRAB_PBON      EQU   1
  54. CIACRAB_OUTMODE   EQU   2
  55. CIACRAB_RUNMODE   EQU   3
  56. CIACRAB_LOAD      EQU   4
  57. CIACRAB_INMODE    EQU   5
  58. CIACRAB_SPMODE    EQU   6
  59. CIACRAB_TODIN     EQU   7
  60.  
  61. * control register B bit numbers
  62. CIACRBB_START     EQU   0
  63. CIACRBB_PBON      EQU   1
  64. CIACRBB_OUTMODE   EQU   2
  65. CIACRBB_RUNMODE   EQU   3
  66. CIACRBB_LOAD      EQU   4
  67. CIACRBB_INMODE0   EQU   5
  68. CIACRBB_INMODE1   EQU   6
  69. CIACRBB_ALARM     EQU   7
  70.  
  71. * interrupt control register bit masks
  72. CIAICRF_TA        EQU   (1<<0)
  73. CIAICRF_TB        EQU   (1<<1)
  74. CIAICRF_ALRM      EQU   (1<<2)
  75. CIAICRF_SP        EQU   (1<<3)
  76. CIAICRF_FLG       EQU   (1<<4)
  77. CIAICRF_IR        EQU   (1<<7)
  78. CIAICRF_SETCLR    EQU   (1<<7)
  79.  
  80. * control register A bit masks
  81. CIACRAF_START     EQU   (1<<0)
  82. CIACRAF_PBON      EQU   (1<<1)
  83. CIACRAF_OUTMODE   EQU   (1<<2)
  84. CIACRAF_RUNMODE   EQU   (1<<3)
  85. CIACRAF_LOAD      EQU   (1<<4)
  86. CIACRAF_INMODE    EQU   (1<<5)
  87. CIACRAF_SPMODE    EQU   (1<<6)
  88. CIACRAF_TODIN     EQU   (1<<7)
  89.  
  90. * control register B bit masks
  91. CIACRBF_START     EQU   (1<<0)
  92. CIACRBF_PBON      EQU   (1<<1)
  93. CIACRBF_OUTMODE   EQU   (1<<2)
  94. CIACRBF_RUNMODE   EQU   (1<<3)
  95. CIACRBF_LOAD      EQU   (1<<4)
  96. CIACRBF_INMODE0   EQU   (1<<5)
  97. CIACRBF_INMODE1   EQU   (1<<6)
  98. CIACRBF_ALARM     EQU   (1<<7)
  99.  
  100. * control register B INMODE masks
  101. CIACRBF_IN_PHI2   EQU   0
  102. CIACRBF_IN_CNT    EQU   (CIACRBF_INMODE0)
  103. CIACRBF_IN_TA     EQU   (CIACRBF_INMODE1)
  104. CIACRBF_IN_CNT_TA EQU   (CIACRBF_INMODE0!CIACRBF_INMODE1)
  105.  
  106.  
  107. *
  108. * Port definitions -- what each bit in a cia peripheral register is tied to
  109. *
  110.  
  111. * ciaa port A (0xbfe001)
  112. CIAB_GAMEPORT1    EQU   (7)   * gameport 1, pin 6 (fire button*)
  113. CIAB_GAMEPORT0    EQU   (6)   * gameport 0, pin 6 (fire button*)
  114. CIAB_DSKRDY       EQU   (5)   * disk ready*
  115. CIAB_DSKTRACK0    EQU   (4)   * disk on track 00*
  116. CIAB_DSKPROT      EQU   (3)   * disk write protect*
  117. CIAB_DSKCHANGE    EQU   (2)   * disk change*
  118. CIAB_LED          EQU   (1)   * led light control (0==>bright)
  119. CIAB_OVERLAY      EQU   (0)   * memory overlay bit
  120.  
  121. * ciaa port B (0xbfe101) -- parallel port
  122.  
  123. * ciab port A (0xbfd000) -- serial and printer control
  124. CIAB_COMDTR       EQU   (7)   * serial Data Terminal Ready*
  125. CIAB_COMRTS       EQU   (6)   * serial Request to Send*
  126. CIAB_COMCD        EQU   (5)   * serial Carrier Detect*
  127. CIAB_COMCTS       EQU   (4)   * serial Clear to Send*
  128. CIAB_COMDSR       EQU   (3)   * serial Data Set Ready*
  129. CIAB_PRTRSEL      EQU   (2)   * printer SELECT
  130. CIAB_PRTRPOUT     EQU   (1)   * printer paper out
  131. CIAB_PRTRBUSY     EQU   (0)   * printer busy
  132.  
  133. * ciab port B (0xbfd100) -- disk control
  134. CIAB_DSKMOTOR     EQU   (7)   * disk motorr*
  135. CIAB_DSKSEL3      EQU   (6)   * disk select unit 3*
  136. CIAB_DSKSEL2      EQU   (5)   * disk select unit 2*
  137. CIAB_DSKSEL1      EQU   (4)   * disk select unit 1*
  138. CIAB_DSKSEL0      EQU   (3)   * disk select unit 0*
  139. CIAB_DSKSIDE      EQU   (2)   * disk side select*
  140. CIAB_DSKDIREC     EQU   (1)   * disk direction of seek*
  141. CIAB_DSKSTEP      EQU   (0)   * disk step heads*
  142.  
  143. * ciaa port A (0xbfe001)
  144. CIAF_GAMEPORT1    EQU   (1<<7)
  145. CIAF_GAMEPORT0    EQU   (1<<6)
  146. CIAF_DSKRDY       EQU   (1<<5)
  147. CIAF_DSKTRACK0    EQU   (1<<4)
  148. CIAF_DSKPROT      EQU   (1<<3)
  149. CIAF_DSKCHANGE    EQU   (1<<2)
  150. CIAF_LED          EQU   (1<<1)
  151. CIAF_OVERLAY      EQU   (1<<0)
  152.  
  153. * ciaa port B (0xbfe101) -- parallel port
  154.  
  155. * ciab port A (0xbfd000) -- serial and printer control
  156. CIAF_COMDTR       EQU   (1<<7)
  157. CIAF_COMRTS       EQU   (1<<6)
  158. CIAF_COMCD        EQU   (1<<5)
  159. CIAF_COMCTS       EQU   (1<<4)
  160. CIAF_COMDSR       EQU   (1<<3)
  161. CIAF_PRTRSEL      EQU   (1<<2)
  162. CIAF_PRTRPOUT     EQU   (1<<1)
  163. CIAF_PRTRBUSY     EQU   (1<<0)
  164.  
  165. * ciab port B (0xbfd100) -- disk control
  166. CIAF_DSKMOTOR     EQU   (1<<7)
  167. CIAF_DSKSEL3      EQU   (1<<6)
  168. CIAF_DSKSEL2      EQU   (1<<5)
  169. CIAF_DSKSEL1      EQU   (1<<4)
  170. CIAF_DSKSEL0      EQU   (1<<3)
  171. CIAF_DSKSIDE      EQU   (1<<2)
  172. CIAF_DSKDIREC     EQU   (1<<1)
  173. CIAF_DSKSTEP      EQU   (1<<0)
  174.  
  175.    ENDC  !HARDWARE_CIA_I
  176.